package ln.javatest.day09.demo05;

public class DemoGame {
    public static void main(String[] args) {
        hero h = new hero();
        h.setName("王嘉尔"); //设置英雄名称
        //设置英雄技能
        /*
        //1) 可以用实现类 SkillImpl
        h.setSkill(new SkillImpl());  //使用单独定义的实现类
        */
        /*
        //2)还可以改成使用匿名内部类
        Skill skill = new Skill(){
            @Override
            public void use() {
                System.out.println("擅长用自己的真诚与做事的态度打动人。");
            }
        };
        h.setSkill(skill);
        */
        //3)进一步简化，同时使用匿名内部类和匿名对象
        h.setSkill(new Skill() {
            @Override
            public void use() {
                System.out.println("擅长用自己的真诚与做事的态度打动人。");
            }
        });

        h.attack(); //我叫王嘉尔我的技能是擅长用自己的真诚与做事的态度打动人。
    }
}
